11 research outputs found

    Compilation techniques for automatic extraction of parallelism and locality in heterogeneous architectures

    Get PDF
    [Abstract] High performance computing has become a key enabler for innovation in science and industry. This fact has unleashed a continuous demand of more computing power that the silicon industry has satisfied with parallel and heterogeneous architectures, and complex memory hierarchies. As a consequence, software developers have been challenged to write new codes and rewrite the old ones to be efficient in these new systems. Unfortunately, success cases are scarce and require huge investments in human workforce. Current compilers generate peak-peformance binary code in monocore architectures. Following this victory, this thesis explores new ideas in compiler design to overcome this challenge with the automatic extraction of parallelism and locality. First, we present a new compiler intermediate representation based on diKernels named KIR, which is insensitive to syntactic variations in the source code and exposes multiple levels of parallelism. On top of the KIR, we build a source-to-source approach that generates parallel code annotated with compiler directives: OpenMP for multicores and OpenHMPP for GPUs. Finally, we model program behavior from the point of view of the memory accesses through the reconstruction of affine loops for sequential and parallel codes. The experimental evaluations throughout the thesis corroborate the effectiveness and efficiency of the proposed solutions.[Resumen]La computación de altas prestaciones se ha convertido en un habilitador clave para la innovación en la ciencia y la industria. Este hecho ha propiciado una demanda continua de más poder computacional que la industria del silicio ha satisfecho con arquitecturas paralelas y heterogéneas, y jerarquías de memoria complejas. Como consecuencia, los desarrolladores de software han sido desafiados a escribir códigos nuevos y reescribir los antiguos para que sean eficientes en estos nuevos sistemas. Desafortunadamente, los casos de éxito son escasos y requieren inversiones enormes en fuerza de trabajo. Los compiladores actuales generan código binario con rendimiento máximo en las arquitecturas mononúcleo. Siguiendo esta victoria, esta tesis explora nuevas ideas en el diseño de compiladores para superar este reto con la extracción automática de paralelismo y localidad. En primer lugar, presentamos una nueva representación intermedia de compilador basada en diKernels denominada KIR, la cual es insensible a variaciones sintácticas en el código de fuente y expone múltiples niveles de paralelismo. Sobre la KIR, construimos una aproximación fuente-a-fuente que genera código paralelo anotado con directivas: OpenMP para multinúcleos y OpenHMPP para GPUs. Finalmente, modelamos el comportamiento del programa desde el punto de vista de los accesos de memoria a través de la reconstrucción de bucles afines para códigos secuenciales y paralelos. Las evaluaciones experimentales a lo largo de la tesis corroboran la efectividad y eficacia de las soluciones propuestas.[Resumo]A computación de altas prestacións converteuse nun habilitador clave para a innovación na ciencia e na industria. Este feito propiciou unha demanda continua de máis poder computacional que a industria do silicio satisfixo con arquitecturas paralelas e heteroxéneas, e xerarquías de memoria complexas. Como consecuencia, os desenvolvedores de software foron desafiados a escribir códigos novos e reescribir os antigos para que sexan eficientes nestes novos sistemas. Desafortunadamente, os casos de éxito son escasos e requiren investimentos enormes en forza de traballo. Os compiladores actuais xeran código binario con rendemento máximo nas arquitecturas mononúcleo. Seguindo esta vitoria, esta tese explora novas ideas no deseño de compiladores para superar este reto coa extracción automática de paralelismo e localidade. En primeiro lugar, presentamos unha nova representación intermedia de compilador baseada en diKernels denominada KIR, a cal é insensible a variacións sintácticas no código fonte e expón múltiples niveis de paralelismo. Sobre a KIR, construímos unha aproximación fonte-a-fonte que xera código paralelo anotado con directivas: OpenMP para multinúcleos e OpenHMPP para GPUs. Finalmente, modelamos o comportamento do programa desde o punto de vista dos accesos de memoria a través da reconstrución de bucles afíns para códigos secuenciais e paralelos. As avaliacións experimentais ao longo da tese corroboran a efectividade e eficacia das solucións propostas

    A Novel Compiler Support for Automatic Parallelization on Multicore Systems

    Get PDF
    [Abstract] The widespread use of multicore processors is not a consequence of significant advances in parallel programming. In contrast, multicore processors arise due to the complexity of building power-efficient, high-clock-rate, single-core chips. Automatic parallelization of sequential applications is the ideal solution for making parallel programming as easy as writing programs for sequential computers. However, automatic parallelization remains a grand challenge due to its need for complex program analysis and the existence of unknowns during compilation. This paper proposes a new method for converting a sequential application into a parallel counterpart that can be executed on current multicore processors. It hinges on an intermediate representation based on the concept of domain-independent kernel (e.g., assignment, reduction, recurrence). Such kernel-centric view hides the complexity of the implementation details, enabling the construction of the parallel version even when the source code of the sequential application contains different syntactic variations of the computations (e.g., pointers, arrays, complex control flows). Experiments that evaluate the effectiveness and performance of our approach with respect to state-of-the-art compilers are also presented. The benchmark suite consists of synthetic codes that represent common domain-independent kernels, dense/sparse linear algebra and image processing routines, and full-scale applications from SPEC CPU2000.[Resumen] El uso generalizado de procesadores multinúcleo no es consecuencia de avances significativos en programación paralela. Por el contrario, los procesadores multinúcleo surgen debido a la complejidad de construir chips mononúcleo que sean eficiente energéticamente y tengan altas velocidades de reloj. La paralelización automática de aplicaciones secuenciales es la solución ideal para hacer la programación paralela tan fácil como escribir programas para ordenadores secuenciales. Sin embargo, la paralelización automática continua a ser un gran reto debido a su necesidad de complejos análisis del programa y la existencia de incógnitas durante la compilación. Este artículo propone un nuevo método para convertir una aplicación secuencial en su contrapartida paralela que pueda ser ejecutada en los procesadores multinúcleo actuales. Este método depende de una representación intermedia basada en el concepto de núcleos independientes del dominio (p. ej., asignación, reducción, recurrencia). Esta visión centrada en núcleos oculta la complejidad de los detalles de implementación, permitiendo la construcción de la versión paralela incluso cuando el código fuente de la aplicación secuencial contiene diferentes variantes de las computaciones (p. ej., punteros, arrays, flujos de control complejos). Se presentan experimentos que evalúan la efectividad y el rendimiento de nuestra aproximación con respecto al estado del arte. La serie programas de prueba consiste en códigos sintéticos que representan núcleos independientes del dominio comunes, rutinas de álgebra lineal densa/dispersa y de procesamiento de imagen, y aplicaciones completas del SPEC CPU2000.[Resumo] O uso xeralizado de procesadores multinúcleo non é consecuencia de avances significativos en programación paralela. Pola contra, os procesadores multinúcleo xurden debido á complexidade de construir chips mononúcleo que sexan eficientes enerxéticamente e teñan altas velocidades de reloxo. A paralelización automática de aplicacións secuenciais é a solución ideal para facer a programación paralela tan sinxela como escribir programas para ordenadores secuenciais. Sen embargo, a paralelización automática continua a ser un gran reto debido a súa necesidade de complexas análises do programa e a existencia de incógnitas durante a compilación. Este artigo propón un novo método para convertir unha aplicación secuencias na súa contrapartida paralela que poida ser executada nos procesadores multinúcleo actuais. Este método depende dunha representación intermedia baseada no concepto dos núcleos independentes do dominio (p. ex., asignación, reducción, recurrencia). Esta visión centrada en núcleos oculta a complexidade dos detalles de implementación, permitindo a construcción da versión paralela incluso cando o código fonte da aplicación secuencial contén diferentes variantes das computacións (p. ex., punteiros, arrays, fluxos de control complejo). Preséntanse experimentos que evalúan a efectividade e o rendemento da nosa aproximación con respecto ao estado da arte. A serie de programas de proba consiste en códigos sintéticos que representan núcleos independentes do dominio comunes, rutinas de álxebra lineal densa/dispersa e de procesamento de imaxe, e aplicacións completas do SPEC CPU2000.Ministerio de Economía y Competitividad; TIN2010-16735Ministerio de Educación y Cultura; AP2008-0101

    Locality-Aware Automatic Parallelization for GPGPU with OpenHMPP Directives

    Get PDF
    This is a post-peer-review, pre-copyedit version of an article published in International Journal of Parallel Programming. The final authenticated version is available online at: https://doi.org/10.1007/s10766-015-0362-9[Abstract] The use of GPUs for general purpose computation has increased dramatically in the past years due to the rising demands of computing power and their tremendous computing capacity at low cost. Hence, new programming models have been developed to integrate these accelerators with high-level programming languages, giving place to heterogeneous computing systems. Unfortunately, this heterogeneity is also exposed to the programmer complicating its exploitation. This paper presents a new technique to automatically rewrite sequential programs into a parallel counterpart targeting GPU-based heterogeneous systems. The original source code is analyzed through domain-independent computational kernels, which hide the complexity of the implementation details by presenting a non-statement-based, high-level, hierarchical representation of the application. Next, a locality-aware technique based on standard compiler transformations is applied to the original code through OpenHMPP directives. Two representative case studies from scientific applications have been selected: the three-dimensional discrete convolution and the simple-precision general matrix multiplication. The effectiveness of our technique is corroborated by a performance evaluation on NVIDIA GPUs.Ministerio de Economía y Competitividad; TIN2010-16735Ministerio de Economía y Competitividad; TIN2013-42148-PGalicia, Consellería de Cultura, Educación e Ordenación Universitaria; GRC2013-055Ministerio de Educación; AP2008-0101

    WikinformáticA: visibilización del papel de la mujer en las nuevas tecnologías y promoción de la ingeniería en informática entre las estudiantes de secundaria

    Get PDF
    Resumen: A pesar de ser mayoría en los campus españoles, la presencia de mujeres en las carreras de ingeniería en informática es prácticamente testimonial y su tasa de entrada ha ido disminuyendo en los últimos años. Además, este fenómeno no es un hecho aislado de los campus españoles, sino que puede considerarse global. Entre las causas del bajo interés que muestran las estudiantes por la ingeniería en informática destacan, además de la persistencia de estereotipos poco atractivos relacionados con el ámbito de la informática, el desconocimiento de la profesión y la ausencia de modelos femeninos de referencia en la sociedad actual. Por ello, la Facultad de Informática de A Coruña ha organizado, en colaboración con otras instituciones y asociaciones, el concurso WikinformáticA. Una iniciativa que, mediante el aprendizaje colaborativo, la utilización de herramientas online de fácil acceso y la incentivación a través de la organización de un concurso, pretende involucrar a los centros de enseñanza secundaria en la promoción de los estudios de ingeniería en informática y visibilizar el papel de las mujeres en el campo de las tecnologías de la información.Abstract: Despite the fact that most of the students in Spanish campuses are women, their presence in Computer Science degrees is minimal and their entry rate has been diminishing in recent years. Moreover, this is not an isolated fact and it can be considered as a global phenomenon. Among the causes for the low interest on Computer Science shown by young women, alongside persistent unattractive stereotypes regarding the ICT field, we highlight the unawareness of the ICT profession and the lack of women as ICT models in today’s society. For these reasons, the Faculty of Computer Science of the University of A Coruña, in collaboration with other institutions and associations, has organized WikinformáticA. This initiative is based on collaborative learning, the use of simple online tools, and the motivation through the organization of a competition, with the goal of involving secondary schools in the promotion of the Computer Science studies and the role of women in ICT

    WikinformáticA: visibilización del papel de la mujer en las nuevas tecnologías y promoción de la ingeniería en informática entre las estudiantes de secundaria

    Get PDF
    A pesar de ser mayoría en los campus españoles, la presencia de mujeres en las carreras de ingeniería en informática es prácticamente testimonial y su tasa de entrada ha ido disminuyendo en los últimos años. Además, este fenómeno no es un hecho aislado de los campus españoles, sino que puede considerarse global. Entre las causas del bajo interés que muestran las estudiantes por la ingeniería en informática destacan, además de la persistencia de estereotipos poco atractivos relacionados con el ámbito de la informática, el desconocimiento de la profesión y la ausencia de modelos femeninos de referencia en la sociedad actual. Por ello, la Facultad de Informática de A Coruña ha organizado, en colaboración con otras instituciones y asociaciones, el concurso WikinformáticA. Una iniciativa que, mediante el aprendizaje colaborativo, la utilización de herramientas online de fácil acceso y la incentivación a través de la organización de un concurso, pretende involucrar a los centros de enseñanza secundaria en la promoción de los estudios de ingeniería en informática y visibilizar el papel de las mujeres en el campo de las tecnologías de la información.Despite the fact that most of the students in Spanish campuses are women, their presence in Computer Science degrees is minimal and their entry rate has been diminishing in recent years. Moreover, this is not an isolated fact and it can be considered as a global phenomenon. Among the causes for the low interest on Computer Science shown by young women, alongside persistent unattractive stereotypes regarding the ICT field, we highlight the unawareness of the ICT profession and the lack of women as ICT models in today’s society. For these reasons, the Faculty of Computer Science of the University of A Coruña, in collaboration with other institutions and associations, has organized WikinformáticA. This initiative is based on collaborative learning, the use of simple online tools, and the motivation through the organization of a competition, with the goal of involving secondary schools in the promotion of the Computer Science studies and the role of women in ICT.Agradecemos el apoyo financiero y logístico de la Oficina para a Igualdade de Xénero (OIX) de la Universidade da Coruña, la asociación Anita Borg Scholarship Alumni (ABSA), el Colexio Profesional de Enxeñaría en Informática de Galicia (CPEIG), la Asociación de Mujeres Investigadoras y Tecnólogas (AMIT), la Facultad de Informática (FIC) de la Universidade da Coruña y a su Centro de Cálculo (CeCaFI)

    Consideraciones sobre la convivencia castellano-gallego: tratamiento del fenómeno por parte de la prensa del siglo XX

    No full text

    Smart Behavioral Analytics over a Low-Cost IoT Wi-Fi Tracking Real Deployment

    No full text
    In a more and more urbanized World, the so-called Smart Cities need to be driven by the principles of efficiency and sustainability. Information and Communications Technologies and, in particular, the Internet of Things will play a key role on this, since they will allow monitoring and optimizing all the municipal services that exist and shall exist. People flow monitoring stands out in this context due to its wide range of applications, spanning from monitoring transport infrastructure to physical security applications. There are different techniques to perform people flow monitoring, presenting pros and cons, as in any other engineering problem. Typically, the options that provide the most accurate results are also the most expensive ones, whereas there are cases where presence detection in given areas is enough and cost is a limiting factor. The main goal of this paper is to prove that a minimal deployment of sensors, combined with the adequate analysis and visualization algorithms, can render useful results. In order to achieve this goal, a dataset is used with 1-year data from a real infrastructure composed of 9 Wi-Fi tracking sensors deployed in the Telecommunications Engineering School of Universidad Politécnica de Madrid, which is visited by 4000 people daily and covers 1.8 hectares. The data analysis includes time and occupancy, position of people, and identification of common behaviors, as well as a comparison of the accuracy of the considered solution with actual data and a video monitoring system available at the library of the school. The obtained insights can be used for optimizing the management and operation of the school, as well as for other similar infrastructures and, in general, for other kind of applications which require not very accurate people flow monitoring at low cost

    Neandertales y Humanos modernos en Guadalajara

    Get PDF
    Con autorización de la revista para autores CSIC[EN] We present partial results obtained in an interdisciplinary research project focused on the human settlement of the Guadalajara province (Spain) during the Middle and Upper Palaeolithic. The excavation of the Peña Capón, Peña Cabra and Los Casares sites have shown outstanding evidence for investigating population dynamics and human-environment interactions in the interior territories of the Iberian Peninsula during the Late Pleistocene. Traditionally depicted as marginal and lacking own cultural developments, these territories have provided scarce and weak data for the Middle and –especially– Upper Paleolithic, and thus the proposed interpretations on the mentioned problems have been always flawed. However, our results enable us to confirm the cultural relevance of the region under study during Upper Pleniglacial times previously considered devoid of human occupation. Also, we are now able to contribute with solid data from inland Spain to the problem of the Neandertal demise in the Iberian Peninsula and southwest Europe.[ES] Presentamos parte de los resultados de un proyecto de investigación interdisciplinar sobre el poblamiento humano en la provincia de Guadalajara durante el Paleolítico Medio y el Superior. Basados en la excavación de los yacimientos de Peña Capón, Peña Cabra y Los Casares, los datos obtenidos presentan importantes implicaciones para la investigación de las dinámicas poblaciones y la relación entre ocupación humana y variabilidad climática y ambiental en el interior de la península ibérica durante el Pleistoceno Superior. Tradicionalmente consideradas marginales, las regiones interiores peninsulares han aportado escasas evidencias relevantes para estas cronologías, provocando así que las interpretaciones sobre los problemas aludidos sean altamente cuestionables. Sin embargo, los resultados obtenidos nos permiten afirmar la entidad cultural de la región estudiada durante momentos del Pleniglacial Superior antes considerados deshabitados, así como contribuir con evidencias sólidas a la controversia del final de los Neandertales en la península ibérica.Gran parte de las investigaciones han sido financiadas a través de un proyecto Marie Curie (IEF) dentro del Séptimo Programa Marco (FP7) de la Comisión Europea (Identificador: 628179) así como por la Fundación Alemana de Investigación (DFG) bajo el CRC 806 “Our Way to Europe”. También se ha contado con financiación proveniente de los siguientes proyectos del Ministerio de Economía y Competitividad financiados por la Agencia Estatal de Investigación (AEI) y el Fondo Europeo de Desarrollo Regional (FEDER): HAR2013-48784-C3-3-P, HAR2016-76760-C3-2-P, HAR2013-43701-P, CGL2012-38434-C03-01 y HAR2017-82483-C3-3-P. Manuel Alcaraz-Castaño disfruta de un contrato co-financiado por las Ayudas para la Atracción de Talento Investigador de la Comunidad de Madrid (referencia 2016-T2/HUM-1251)
    corecore